<template>
  <el-dialog title="灯组控制" :visible.sync="visible" width="520px" append-to-body custom-class="fen_control">
    <el-form ref="form" :model="form" :rules="rules" label-width="86px" label-position="left" size="small">
      <el-form-item label="使用状态" prop="isUsed">
        <el-radio-group v-model="form.isUsed">
          <el-radio label="1">启用</el-radio>
          <el-radio label="0">停用</el-radio>
        </el-radio-group>
      </el-form-item>
      <template v-if="form.isUsed == 1">
        <el-form-item label="运行模式" prop="mode">
          <el-radio-group v-model="form.mode">
            <el-radio label="0">自动</el-radio>
            <el-radio label="1">手动</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item v-if="form.mode == '0'" label="亮灯时长" prop="recTime">
          <el-input-number v-model="form.recTime" :min="1" :step="1" label="请输入亮灯时长" style="width: 60%;" :controls="false" />（秒）
        </el-form-item>
        <el-form-item v-if="form.mode == '1'" label="灯光状态" prop="lightSwitch">
          <el-radio-group v-model="form.lightSwitch">
            <el-radio label="on">开灯</el-radio>
            <el-radio label="off">关灯</el-radio>
          </el-radio-group>
        </el-form-item>
      </template>
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button type="primary" size="small" @click="submitForm">提交</el-button>
      <el-button size="small" @click="cancel">取 消</el-button>
    </div>
  </el-dialog>
</template>

<script>
import { deviceControl } from '@/api/fjgs/light.js'
import { cloneDeep } from 'loadsh'
export default {
  data() {
    return {
      visible: false,
      tabPosition: '',
      cruent: '',
      form: {},
      rules: {
        isUsed: [{ required: true, message: '请选择使用状态', trigger: 'blur' }],
        mode: [{ required: true, message: '请选择运行模式', trigger: 'blur' }],
        recTime: [{ required: true, message: '请输入亮灯时长', trigger: 'blur' }],
        lightSwitch: [{ required: true, message: '请选择灯光状态', trigger: 'blur' }]
      },
      value1: []
    }
  },
  methods: {
    open(options) {
      if (options.sn && options.deviceType) {
        this.visible = true
        this.form = {
          sn: options.sn,
          code: options.code,
          isUsed: options.isUsed,
          mode: options.controlMode,
          recTime: options.recTime,
          lightSwitch: options.lightStatus,
          deviceType: options.deviceType
        }
        // cloneDeep(options)
      }
    },
    handEdit(index, row) {
      this.cruent = index
    },
    cancel() {
      this.visible = false
    },
    submitForm() {
      this.$refs['form'].validate(valid => {
        if (valid) {
          // private String sn; //设备编号
          // private String code;//设备通道号（雷达设备无通道）
          // private String name;//设备名称
          // private String deviceType;//设备类型（控制器:ammeter、摄像头:camera、电表:mem、雷达:radar）
          // private String isUsed;///待修改的设备使用状态（0为停用、1为启用）
          // private String mode;//控制器工作模式（auto:自动控制、manual:手动控制）
          // private String recTime;//控制器亮灯时间（单位:秒）
          // private String recPrecision;//灵敏度（0-9，0表示灵敏度最低，9表示灵敏度最高）
          // private String lightSwitch;//操作（开灯:on、关灯:off）
          let params = {
            sn: this.form.sn, // 设备编号
            code: this.form.code, // 设备名称
            deviceType: this.form.deviceType, // 设备类型（控制器:ammeter、摄像头:camera、电表:mem、雷达:radar）
            isUsed: this.form.isUsed, // /待修改的设备使用状态（0为停用、1为启用）
            mode: this.form.mode// 控制器工作模式（auto:自动控制、manual:手动控制）
          }
          if (params.deviceType == 'ammeter' && params.mode == '0') {
            params.recTime = this.form.recTime
            params.mode = 'auto'
          } else if (params.deviceType == 'ammeter' && params.mode == '1') {
            params.lightSwitch = this.form.lightSwitch
            params.mode = 'manual'
          }
          if (params.deviceType == 'radar') {
            delete params.code
          }
          if (params.isUsed == '0') {
            params = {
              sn: this.form.sn, // 设备编号
              code: this.form.code, // 设备名称
              deviceType: this.form.deviceType, // 设备类型（控制器:ammeter、摄像头:camera、电表:mem、雷达:radar）
              isUsed: this.form.isUsed // /待修改的设备使用状态（0为停用、1为启用）
            }
          }
          deviceControl(params).then(response => {
            this.msgSuccess('修改成功')
            this.visible = false
            this.$emit('success')
          })
        }
      })
    }
  }
}
</script>

  <style lang="scss" >
  .fen_control {
      .el-dialog__body {
        padding: 16px 20px;
      }
      .el-form-item__label {
        padding-bottom: 0;
      }
  }

  </style>

